package com.djf.djfcs.canal;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;
import java.util.Map;

/**
 * Canal数据变更事件
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class CanalDataChangeEvent {
    
    /**
     * 数据库名
     */
    private String database;
    
    /**
     * 表名
     */
    private String table;
    
    /**
     * 事件类型：INSERT, UPDATE, DELETE
     */
    private String eventType;
    
    /**
     * 变更前的数据（UPDATE和DELETE时有值）
     */
    private List<Map<String, Object>> oldData;
    
    /**
     * 变更后的数据（INSERT和UPDATE时有值）
     */
    private List<Map<String, Object>> newData;
    
    /**
     * 执行时间
     */
    private Long executeTime;
    
    /**
     * binlog文件名
     */
    private String logfileName;
    
    /**
     * binlog位置
     */
    private Long logfileOffset;
}